﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FernUniHagen.CompilerExtension.DataStructures;
using Roslyn.Compilers.Common;
using Roslyn.Compilers.CSharp;
using FernUniHagen.CompilerExtension.Functions;
using FernUniHagen.CompilerExtension.Adaptor;

namespace FernUniHagen.CompilerExtension.Converter
{
    public class MethodDeclarationConverter : NodeConverterFactory
    {
        /// <summary>
        /// R-MDecl1 && R-MDecl2
        /// TODO:Check strip(decl)?
        /// </summary>
        /// <returns></returns>
        public override CommonSyntaxNode Convert()
        {
            return null;
            //var declaration = SyntaxElementFactory.GetConverter(Node);
            //return declaration.ConvertToMutiplicity();

            //var methodSyntax = Utilities.CastNode<MethodDeclarationSyntax>(Node);


            //var declaration = DeclarationTarget.GetDeclaration(Node);
            //GenericNameSyntax genericType = null;
            //AttributeType attrType = AttributeType.None;
            //declaration.GetMultiplicityAttribute(out attrType, out genericType);


            //if (attrType == AttributeType.Any)
            //    return methodSyntax.WithReturnType(genericType);
            //return methodSyntax;
        }
    }
}
